package com.zhao.fishingguideserver.service;

import com.zhao.fishingguideserver.POJO.Order;
import java.util.List;

/**
 * 订单服务接口
 */
public interface OrderService {
    
    /**
     * 创建订单
     */
    String createOrder(Order order);
    
    /**
     * 更新订单状态
     */
    String updateOrderStatus(Integer orderId, String status);
    
    /**
     * 更新订单信息
     */
    String updateOrder(Order order);
    
    /**
     * 根据订单ID查询订单详情
     */
    Order getOrderById(Integer orderId);
    
    /**
     * 根据订单号查询订单
     */
    Order getOrderByCode(String code);
    
    /**
     * 查询买家的订单列表
     */
    List<Order> getOrdersByBuyerId(Integer buyerId);
    
    /**
     * 查询卖家的订单列表
     */
    List<Order> getOrdersBySellerId(Integer sellerId);
    
    /**
     * 根据状态查询订单
     */
    List<Order> getOrdersByStatus(String status);
    
    /**
     * 取消订单
     */
    String cancelOrder(Integer orderId, Integer userId);
    
    /**
     * 删除订单
     */
    String deleteOrder(Integer orderId);
    
    /**
     * 模拟支付功能
     * 将订单状态改为已支付，商品状态改为已售出
     */
    String payOrder(Integer orderId, Integer userId);
    
    /**
     * 卖家发货功能
     * 将订单状态改为已发货
     */
    String shipOrder(Integer orderId, Integer userId);
    
    /**
     * 买家确认收货功能
     * 将订单状态改为已送达，完成订单流程
     */
    String confirmReceipt(Integer orderId, Integer userId);
}